Compiler Technology for Portable Checkpoints

نویسنده

  • Volker Strumpen
چکیده

We have implemented a prototype compiler called porch that transforms C programs into C programs supporting portable checkpoints. Portable checkpoints capture the state of a computation in a machine-independent format that allows the transfer of computations across binary incompatible machines. We introduce sourceto-source compilation techniques for generating code to save and recover from such portable checkpoints automatically. These techniques instrument a program with code that maps the state of a computation into a machine-independent representation and vice versa. In particular, the following problems are addressed: (1) providing stack environment portability, (2) enabling conversion of complex data types, and (3) rendering pointers portable. Experimental results show that the overhead of checkpointing is reasonably small, even if data representation conversion is required for portability.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler - Supported Portable , Fault - Tolerant File - I

Igor Lyubashevskiy and Volker Strumpen Laboratory for Computer Science Massachusetts Institute of Technology figorlord,[email protected] Abstract—The ftIO-system provides portable and faulttolerant file-I/O by enhancing the functionality of the ANSI C file system without changing its application programmer interface and without depending on system-specific implementations of the s...

متن کامل

Portable and fault-tolerant software systems

High availability is essential to heterogeneous computer networks, which are the basis of many systems ranging from the Internet to fly-by-wire flight controls. Development of highly available systems, however, is constrained by ever shorter times to market and the availability of off-the-shelf hardware and software (see the “Examples” box). Consequently, the economic necessity of using commodi...

متن کامل

A Debugger for Standard Ml 1

We have built a portable, instrumentation-based, replay debugger for the Standard ML of New Jersey compiler. Traditional \source-level" debuggers for compiled languages actually operate at machine level, which makes them complex, diicult to port, and intolerant of compiler optimization. For secure languages like ML, however, debugging support can be provided without reference to the underlying ...

متن کامل

Portable Checkpointing and Recovery in Heterogeneous Environments

Current approaches for checkpointing and recovery assume system homogeneity, where checkpointing and recovery are both performed on the same processor architecture and operating system configuration. Sometimes it is desirable or necessary to recover the failed computation on a different processor architecture, with possibly different byte-ordering and data-alignment specifications. This implies...

متن کامل

Indolent Closure Creation

A closure is a representation of a thread in memory, ready to be executed. The goal of this work is to create portable closures that can be transferred across binary incompatible architectures. Consequently, indolent closures are software-implemented, and rely on a copy mechanism which allows for potential data representation conversion on-the-fly. Indolent closure creation optimizes the curren...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998